package pe.gob.servir.web.apps.censodirectivo.model.service;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/*import java.util.Map;*/



import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;
import javax.faces.event.ValueChangeEvent;
/*import javax.faces.context.FacesContext;*/
import javax.faces.model.SelectItem;

import pe.gob.servir.web.apps.censodirectivo.model.beans.Comunes;
import pe.gob.servir.web.apps.censodirectivo.model.beans.PersonaView;

@ManagedBean(name = "comunesService")
@ApplicationScoped
public class ComunesService implements Serializable{

	private static final long serialVersionUID = -7142920460850478264L;
	private Comunes comunes;
	private Comunes selectedComunes;
	private List<Comunes> listaComunes;
	private List<SelectItem> provincia = new ArrayList<SelectItem>();
	private List<SelectItem> distrito = new ArrayList<SelectItem>();
	private List<Comunes> listaEntidades;

	public ComunesService() {

	}

	public List<Comunes> getListaEntidades() {
		return listaEntidades;
	}

	public void setListaEntidades(List<Comunes> listaEntidades) {
		this.listaEntidades = listaEntidades;
	}

	public List<SelectItem> getDistrito() {
		return distrito;
	}

	public void setDistrito(List<SelectItem> distrito) {
		this.distrito = distrito;
	}

	public List<SelectItem> getProvincia() {
		return provincia;
	}

	public void setProvincia(List<SelectItem> provincia) {
		this.provincia = provincia;
	}

	public Comunes getComunes() {
		return comunes;
	}

	public void setComunes(Comunes comunes) {
		this.comunes = comunes;
	}

	public Comunes getSelectedComunes() {
		return selectedComunes;
	}

	public void setSelectedComunes(Comunes selectedComunes) {
		this.selectedComunes = selectedComunes;
	}

	public List<Comunes> getListaComunes() {
		return listaComunes;
	}

	public void setListaComunes(List<Comunes> listaComunes) {
		this.listaComunes = listaComunes;
	}

	public PersonaView obtenerDatosReniec(String pDni) {

		// Este metodo se conecta con el servicio de la reniec
		PersonaView personaReniec = new PersonaView();
		personaReniec.setApellidoPaterno("Campos");
		personaReniec.setApellidoMaterno("Arevalo");
		personaReniec.setNombreCompleto("Marcial");

		return personaReniec;
	}

	public ArrayList<SelectItem> getListaCombos(String pNomTabla) {

		ArrayList<SelectItem> listaCombo = new ArrayList<SelectItem>();
		SelectItem item;

		for (int i = 0; i < 5; i++) {

			item = new SelectItem(String.valueOf(i + 1), pNomTabla
					+ String.valueOf(i + 1));
			listaCombo.add(item);
		}

		return listaCombo;
	}

	/**
	 * Para ubigeo
	 */

	public ArrayList<SelectItem> getListaDepartamento(String pDepartamento,
			String pProvincia, String pDistrito) {

		ArrayList<SelectItem> listaCombo = new ArrayList<SelectItem>();
		SelectItem item;

		for (int i = 0; i < 5; i++) {

			item = new SelectItem(String.valueOf(i + 1), "Departamento"
					+ String.valueOf(i + 1));
			listaCombo.add(item);
		}

		return listaCombo;
	}

	public void listaprovincias(ValueChangeEvent evento) {

		String idDepartamento = evento.getNewValue().toString();
		ArrayList<SelectItem> provincias = new ArrayList<SelectItem>();
		SelectItem item;

		for (int i = 0; i < 5; i++) {

			item = new SelectItem(String.valueOf(i + 1) + "-" + idDepartamento,
					"Provincia(D:" + idDepartamento + ")"
							+ String.valueOf(i + 1));
			provincias.add(item);
		}

		provincia = provincias;

	}

	public void listaDistritos(ValueChangeEvent evento) {

		String idProvincia = evento.getNewValue().toString();

		ArrayList<SelectItem> distritos = new ArrayList<SelectItem>();
		SelectItem item;

		for (int i = 0; i < 5; i++) {

			item = new SelectItem(String.valueOf(i + 1) + "-" + idProvincia,
					"Distrito(D:" + idProvincia + ")" + String.valueOf(i + 1));
			distritos.add(item);
		}

		distrito = distritos;

	}

}
